home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
-
- int ungetc(int c,FILE *f)
- {
- if(!f) return(EOF);
- if(!f->base) return(EOF); /* evtl. muesste man hier malloc() */
- if((f->flags&(_READABLE|_WRITE|_ERR|_EOF))!=_READABLE) return(EOF);
- if(f->pointer<f->base){
- /* Buffer voll und bereits ein Zeichen reingestopft, also wird es */
- /* ueberschrieben */
- return(*f->pointer=c);
- }
- f->count++;
- return(*--f->pointer=c);
- }
-